# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: "http://devicetree.org/schemas/phy/sunplus,sp7021-usb2-phy.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Sunplus SP7021 USB 2.0 PHY Controller

maintainers:
  - Vincent Shih <vincent.sunplus@gmail.com>

properties:
  compatible:
    const: sunplus,sp7021-usb2-phy

  reg:
    items:
      - description: UPHY register region
      - description: MOON4 register region

  reg-names:
    items:
      - const: phy
      - const: moon4

  clocks:
    maxItems: 1

  resets:
    maxItems: 1

  "#phy-cells":
    const: 0

  nvmem-cell-names:
    description: names corresponding to the nvmem cells of disconnect voltage
    const: disc_vol

  nvmem-cells:
    description: nvmem cell address of disconnect voltage
    maxItems: 1

  sunplus,disc-vol-addr-off:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: the otp address offset of disconnect voltage

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - resets
  - "#phy-cells"
  - nvmem-cell-names
  - nvmem-cells
  - sunplus,disc-vol-addr-off

additionalProperties: false

examples:
  - |
    sp_uphy0: usb-phy@9c004a80 {
      compatible = "sunplus,sp7021-usb2-phy";
      reg = <0x9c004a80 0x80>, <0x9c000248 0x10>;
      reg-names = "phy", "moon4";
      clocks = <&clkc 0x3d>;
      resets = <&rstc 0x2d>;
      #phy-cells = <0>;
      nvmem-cell-names = "disc_vol";
      nvmem-cells = <&disc_vol>;
      sunplus,disc-vol-addr-off = <0>;
    };
